package alert

import (
	
	
	
	
	
)

// WithPrometheusQuery adds a prometheus query to the alert.
func ( string,  string,  ...prometheus.Option) Option {
	return func( *Alert) {
		 := prometheus.New(, , ...)
		.Builder.Rules[0].GrafanaAlert.Data = append(.Builder.Rules[0].GrafanaAlert.Data, .Builder)
	}
}

// WithGraphiteQuery adds a graphite query to the alert.
func ( string,  string,  ...graphite.Option) Option {
	return func( *Alert) {
		 := graphite.New(, , ...)
		.Builder.Rules[0].GrafanaAlert.Data = append(.Builder.Rules[0].GrafanaAlert.Data, .Builder)
	}
}

// WithLokiQuery adds a loki query to the alert.
func ( string,  string,  ...loki.Option) Option {
	return func( *Alert) {
		 := loki.New(, , ...)
		.Builder.Rules[0].GrafanaAlert.Data = append(.Builder.Rules[0].GrafanaAlert.Data, .Builder)
	}
}

// WithStackdriverQuery adds a Stackdriver query to the alert.
func ( *stackdriver.Stackdriver) Option {
	return func( *Alert) {
		.Builder.Rules[0].GrafanaAlert.Data = append(.Builder.Rules[0].GrafanaAlert.Data, .Builder)
	}
}

// WithInfluxDBQuery adds an InfluxDB query to the alert.
func ( string,  string,  ...influxdb.Option) Option {
	return func( *Alert) {
		 := influxdb.New(, , ...)
		.Builder.Rules[0].GrafanaAlert.Data = append(.Builder.Rules[0].GrafanaAlert.Data, .Builder)
	}
}